Generator d¼wiêku

Generator d¼wiêku AY-3-8910

Wiele 8-bitowych komputerów posiada specjalizowane uk³ady do generowania d¼wiêku. ZX Spectrum 48/+ posiada bardzo skromne mo¿liwo¶ci generowania d¼wiêku - tylko jednokana³ow± "piszcza³kê" nadaj±c± siê do wydawania pisków i pro¶ciutkich melodyjek. Od modelu ZX Spectrum 128k pocz±wszy montowany jest generator d¼wiêku oparty o uk³ad General Instruments AY-3-8912. Warto wiêc zbudowaæ uk³ad dla ZX Spectrum 48 (lub Timexa TC2048), który bêdzie programowo zgodny z generatorem w Spectrum 128k. (18kB)

Schemat generatora:

Poni¿ej znajduje siê przyk³adowe rozwi±zanie generatora d¼wiêku wykorzystuj±cego uk³ad AY-3-8910. Poniewa¿ w ZX Spectrum 128k (i nastêpnych) zastosowano uk³ad AY-3-8912, mo¿na go te¿ z powodzeniem wykorzystaæ, pamiêtaj±c jednak, ¿e ma on inny uk³ad wyprowadzeñ (i mniejsz± obudowê).
Uk³ad podzielony jest na cztery bloki:
- zegar generuj±cy przebieg prostok±tny (taktowanie uk³adu)
- dekoder adresu (uaktywnia uk³ad tylko wtedy, gdy komputer siê do niego odwo³uje)
- generator d¼wiêku (chip AY)
- uk³ad rezystorów, by uzyskaæ efekt "stereo" ABC (¶rodkowy kana³ B)
Po prawej stronie znajduj± siê wyprowadzenia, które nale¿y pod³±czyæ do szyny krawêdziowej ZX Spectrum. Opis wyprowadzeñ sk³ada siê z numeru ¶cie¿ki (np. d19 oznacza 19 ¶cie¿kê na dolnej stronie z³±cza krawêdziowego, a np. g23 - 23 ¶cie¿ka na stronie górnej) oraz nazwy sygna³u. Sygna³y oznaczone gwiazdk± s± aktywne w stanie niskim (0V).
Sygna³y "Audio out" nale¿y doprowadziæ do wzmacniacza audio, masê we wtyczce po³±czyæ z mas± GND w uk³adzie.
Elementy C1 i R7 nale¿y tak dobraæ, ¿eby uzyskaæ czêstotliwo¶æ 1773,4 kHz (standard Spectrum). Je¶li czêstotliwo¶æ bêdzie inna, d¼wiêk bêdzie mia³ troszeczkê inn± barwê.
Uk³ad jest na tyle uniwersalny, ¿e mo¿na go pod³±czyæ do dowolnego komputera (nawet do PC), modyfikuj±c jedynie dekoder adresów, gdyby okaza³o siê, ¿e adresy 65533 i 49149 s± zajête.
Jeszcze jedna uwaga natury technicznej: pomiêdzy zasilanie a masê nale¿y wpi±æ kondensator tantalowy (np. 1uF), aby filtrowaæ ew. zak³ócenia na linii zasilaj±cej.
Wej¶cia steruj±ce uk³adu AY-3-8912 maj± nastêpuj±ce znaczenie:
Funkcja         BDIR   BC1
--------------------------        
Chip wy³±czony    0     0
Odczyt            0     1
Zapis             1     0
Zapamiêtaj adres  1     1
Na poni¿szym schemacie wej¶cie BC2 zosta³o pod³±czone do logicznej jedynki (+5V).

Schemat generatora d¼wiêku dla ZX Spectrum 48k

Uk³ad wyprowadzeñ uk³adu scalonego AY-3-8910 w obudowie DIL40

Uk³ad wyprowadzeñ uk³adu scalonego AY-3-8912 w obudowie DIL28

Programowanie:


Dostêp do uk³adu jest mo¿liwy poprzez dwa porty we/wy ZX Spectrum: 65533 i 49149. Do portu 65533 wysy³a siê numer rejestru, a do 49149 warto¶æ, któr± chcemy do wybranego rejestru wpisaæ.
Opis rejestrów uk³adu AY:
rejestr        Funkcja                             Zakres
0              Dok³adna wysoko¶æ tonu w kanale A   8-bit (0-255)
1              Zgrubna wysoko¶æ tonu w kanale  A   4-bit (0-15)
2              Dok³adna wysoko¶æ tonu w kanale B   8-bit (0-255)
3              Zgrubna wysoko¶æ tonu w kanale  B   4-bit (0-15)
4              Dok³adna wysoko¶æ tonu w kanale C   8-bit (0-255)
5              Zgrubna wysoko¶æ tonu w kanale  C   4-bit (0-15)
6              "Wysoko¶æ" szumu                    5-bit (0-31)
7              Rejestr steruj±cy / mikser          8-bit (see below)
8              G³o¶no¶æ w kanale A                 4-bit (0-15, see below)
9              G³o¶no¶æ w kanale B                 4-bit (0-15, see below)
10             G³o¶no¶æ w kanale C                 4-bit (0-15, see below)
11             Dok³adny czas obwiedni              8-bit (0-255)
12             Zgrubny czas obwiedni               8-bit (0-255)
13             Typ obwiedni i jej wyzwolenie       4-bit (0-15)
14             I/O port A                          8-bit (0-255)
15             I/O port B                          8-bit (0-255) (tylko w AY-3-8910)
Obwiednie wybierane w rejestrze 13:
 0      \__________     pojedyncze opadanie i wy³±czenie

 4      /|_________     pojedynczy narost i wy³±czenie

 8      \|\|\|\|\|\     powtarzaj±ce siê opadanie)

 9      \__________     pojedyncze opadanie i wy³±czenie

10      \/\/\/\/\/\     powtarzaj±ce siê opadanie i narost
          _________
11      \|              pojedyncze opadanie i utrzymanie

12      /|/|/|/|/|/     powtarzaj±ce siê narosty
         __________
13      /               pojedynczy narost i utrzymanie

14      /\/\/\/\/\/     powtarzaj±ce siê narost i opadanie

15      /|_________     pojedynczy narost i wy³±czenie

Powrót do strony g³ównej...